package com.hgyc.mom.eam.service;

import java.util.List;
import com.baomidou.mybatisplus.extension.service.IService;
import com.hgyc.mom.eam.entity.EamCheckMaintainPlan;
import com.hgyc.mom.eam.vo.EamCheckMaintainPlanVO;

/**
 * 设备点检保养计划Service接口
 *
 * @author fwj
 * @since 2025-08-13
 */
public interface EamCheckMaintainPlanService extends IService<EamCheckMaintainPlan> {

    /**
     * 保存设备点检保养计划
     * @param eamCheckMaintainPlanVO 设备点检保养计划
     */
    void savePlan(EamCheckMaintainPlanVO eamCheckMaintainPlanVO);

    /**
     * 更新设备点检保养计划
     * @param eamCheckMaintainPlanVO 设备点检保养计划
     */
    void updatePlan(EamCheckMaintainPlanVO eamCheckMaintainPlanVO);

    /**
     * 删除设备点检保养计划
     * @param ids 主键
     */
    void removePlan(List<Long> ids);

    /**
     * 执行计划生成检验或保养单据
     * @param planId
     */
    void excuteCreatePlan(Long planId);

    /**
     * 导入数据
     * @param eamCheckMaintainPlanList 导入数据列表
     * @param updateSupport 是否更新已有数据
     * @return 导入结果消息
     */
    String importData(List<EamCheckMaintainPlan> eamCheckMaintainPlanList, boolean updateSupport);

    /**
     * 更新状态
     * @param plan 计划
     */
    void changeStatus(EamCheckMaintainPlan plan);
}
